#ifndef ZIGBUS_XPLSERVICE_H
#define ZIGBUS_XPLSERVICE_H

#include <QxPLService.h>
//#include <ZigbusMessage.h>

class ZxPLService : public QxPLService
{
    Q_OBJECT
private:
    //void xPL_config_response_cmd(const QxPLMessage &message);
    void processPendingMessage(const QxPLMessage &message);
    bool processConfigurationMessage(const QxPLMessage& message);


public:
    ZxPLService(QObject* parent = 0);
    void processMessageForGateway(const QxPLMessage& message);

public slots:
    void processMessage(QxPLMessage message);
    void initFilters();
    void initConfigValues();

signals:
    void moduleTargetedMessage(QxPLMessage message);

    void enableZigbus(bool enable);
    void reloadZigbus();
    void configZigbusMediaUdp(int port, bool reload);
    void configZigbusMediaRS232(QString port, QString baud, QString databit,
                                QString flow, QString parity, QString stopbit, bool reload);

};

#endif // ZIGBUS_XPLSERVICE_H
